package com.ruoyi.business.domain.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 商品对象 tb_product
 *
 * @author ruoyi
 * @date 2025-07-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("tb_product")
public class TbProduct extends BaseEntity {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 产品名称，主标题
     */
    @Excel(name = "产品名称，主标题")
    private String productName;

    /**
     * 副标题
     */
    @Excel(name = "副标题")
    private String productSubName;

    /**
     * 店铺id，由门店创建时关联
     */
    @Excel(name = "店铺id，由门店创建时关联")
    private Long storeId;

    /**
     * 类别id
     */
    @Excel(name = "类别id")
    private Long categoryId;

    /**
     * 上架状态：0->下架；1->上架
     */
    @Excel(name = "上架状态：0->下架；1->上架")
    private Integer publishStatus;

    /**
     * 新品状态:0->新品；1->非新品
     */
    @Excel(name = "新品状态:0->新品；1->非新品")
    private Long newStatus;

    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;

    /**
     * 是否展示
     */
    @Excel(name = "是否展示")
    private Long showStatus;

    /**
     * 排列顺序
     */
    @Excel(name = "排列顺序")
    private Long sort;

    /**
     * 商品主图（缩略图）
     */
    @Excel(name = "商品主图", readConverterExp = "缩=略图")
    private String productMainImg;

    /**
     * 商品轮播图
     */
    @Excel(name = "商品轮播图")
    private String productBannerImg;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    private Integer delFlag;
}
